package com.mall.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mall.commons.utils.R;
import com.mall.domain.UmsResource;
import com.mall.interface1.api.UmsResourceApi;
import com.mall.vo.UmsAdminPageVo;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UmsResourceService {
    @DubboReference
    private UmsResourceApi umsResourceApi;
    public R create(UmsResource umsResource) {
        umsResourceApi.save(umsResource);
        return R.success("",null);
    }

    public R delete(Integer id) {
        umsResourceApi.deleteId(id);
        return R.success("",null);
    }

    public R list(Integer categoryId, String nameKeyword, Integer pageNum, Integer pageSize, String urlKeyword) {
        IPage<UmsResource> iPage=umsResourceApi.listQuery(categoryId, nameKeyword, pageNum, pageSize, urlKeyword);
        UmsAdminPageVo<UmsResource> vo = new UmsAdminPageVo<>();
        vo.setList(iPage.getRecords());
        vo.setPageNum(pageNum);
        vo.setPageSize(pageSize);
        vo.setTotal((int) iPage.getTotal());
        vo.setTotalPage((int) iPage.getPages());
        return R.success("",vo);
    }

    public R listAll() {
      List<UmsResource> list=  umsResourceApi.listAll();
      return R.success("",list);
    }

    public R update(UmsResource umsResource) {
        umsResourceApi.update(umsResource);
        return R.success("",null);
    }
    public R get(Integer id) {
      UmsResource umsResource=umsResourceApi.queryId(id);
      return R.success("",umsResource);
    }
}
